A project, and its targets, are objects using the ‘EIEIO’ object system. See Top. These objects have data fields containing important information related to your work.
If the high-level functions aren't enough, you can tweak all user-customizable fields at any time by running the command customize-project or customize-target. This loads the current project or target into a customization buffer, where you can tweak individual slots. This is usually necessary for complex projects.
Some project modes do not have a project file, but directly
read a Makefile or other existing file. Instead of directly
editing the object, you can edit the file by typine C-c .
e (ede-edit-file-target). You should
“rescan” the project afterwards (see Miscellaneous
commands).